package com.neouton.crm.generalPayRecord.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.neouton.common.util.PageUtil;
import com.neouton.crm.entity.SysUserEntity;
import com.neouton.crm.generalPayRecord.entity.GeneralPayRecord;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

public interface GeneralPayRecordService {
    PageUtil<GeneralPayRecord> queryGeneralPaymentRecordsList(IPage<GeneralPayRecord> page, GeneralPayRecord generalPayRecord, List<SysUserEntity> userList, String token);

    List<GeneralPayRecord> queryGeneralPayRecordedMoney(GeneralPayRecord entity);

    GeneralPayRecord saveManagePaymentRecord(GeneralPayRecord entity, String token);

    boolean approvedManagerPayRecord(GeneralPayRecord entity, String token, boolean auto);

    boolean rejectionManagerPayRecord(GeneralPayRecord entity, String token);

    GeneralPayRecord queryManagerPayRecordHistory(Integer approvalId);

    List<GeneralPayRecord> queryPaymentRecordsListInfo(GeneralPayRecord entity, List<SysUserEntity> userList, String token);

    void exportPaymentRecordsInfo(HttpServletResponse response, List<GeneralPayRecord> list, String token) throws Exception;

    PageUtil<GeneralPayRecord> queryGeneralPaymentRecordsApprovalList(IPage<GeneralPayRecord> page, GeneralPayRecord generalPayRecord, String token);

    Boolean deletePayRecordsById(Integer payRecordsId);
}
